package com.tinet.trainee.mb;


import java.io.Serializable;
import java.util.List;
import java.util.ResourceBundle;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;

import org.primefaces.context.RequestContext;

import cl.tinet.trainee.tarea6.Usuario;

import com.tinet.trainee.bean.UsuarioBean;



@ManagedBean
@ViewScoped
public class HelloMB implements Serializable {

	@EJB(mappedName = "UsuarioBean", name = "UsuarioBean")
	private transient UsuarioBean bean;

	private static final long serialVersionUID = 1L;

	private String name;

	private Usuario usuario;

	private List<Usuario> usuarios;

	@PostConstruct
	public void init() {
		if (usuario == null) {
			usuario = new Usuario();
		}
	}

	/**
	 * @return the usuario
	 */
	public Usuario getUsuario() {
		return usuario;
	}

	/**
	 * @param usuario
	 *            the usuario to set
	 */
	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String navegacion() {
		String res = "welcome";
		if (this.usuario.getNombres().equals("pepe")) {
			res = "saludo2";
		}

		return res;
	}

	public void listar() {

		Usuario u = new Usuario();
		u.setApellidoPaterno("Apellido");
		u.setNombres("Nombre");
		bean.agregar(u);

		Usuario u2 = new Usuario();
		u2.setApellidoPaterno("Perez");
		u2.setNombres("Juan");
		bean.agregar(u2);

		usuarios = bean.listar();
	}

	/**
	 * @return the usuarios
	 */
	public List<Usuario> getUsuarios() {
		return usuarios;
	}

	/**
	 * @param usuarios
	 *            the usuarios to set
	 */
	public void setUsuarios(List<Usuario> usuarios) {
		this.usuarios = usuarios;
	}

	public void editar(Usuario user) {
		this.usuario = user; // ir a la bd y buscar el usuario.
	}

	public void guardar() {
		System.out.println(this.usuario);

		// do somethig.
		FacesContext context = FacesContext.getCurrentInstance();
		ResourceBundle bundleMsg = ResourceBundle.getBundle("messages", context
				.getViewRoot().getLocale());
		ResourceBundle bundleLbl = ResourceBundle.getBundle("labels", context
				.getViewRoot().getLocale());
		context.addMessage("gfMessages",
				new FacesMessage(bundleLbl.getString("general.btn.editar"),
						bundleMsg.getString("usuario.modificado")));
		RequestContext.getCurrentInstance().execute("dEditar.hide()");
	}
}